MPROTECT

Section: System Calls (2)
Updated: 25 September 1987
Index Return to Main Contents
 

NAME

mprotect - set protection of memory mapping  

SYNOPSIS

#include <sys/mman.h>
mprotect(addr, len, prot)
caddr_t addr; int len, prot;
 

DESCRIPTION

mprotect() changes the access protections on the mappings specified by the range [addr, addr + len) to be that specified by prot. Legitimate values for prot are the same as those permitted for mmap(2).  

RETURN VALUE

mprotect() returns 0 on success, -1 on failure.  

ERRORS

mprotect() will fail if:
EACCES
prot specifies a protection which violates the access permission the process has to the underlying memory object.
EINVAL
addr is not a multiple of the page size as returned by getpagesize(2).
ENOMEM
Addresses in the range [addr, addr + len) are invalid for the address space of a process, or specify one or more pages which are not mapped.

When mprotect() fails for reasons other than EINVAL, the protections on some of the pages in the range [addr, addr + len) will have been changed. If the error occurs on some page at address addr2, then the protections of all whole pages in the range [addr, addr2) have been modified.  

SEE ALSO

getpagesize(2), mmap(2)


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 04:51:40 GMT, January 31, 2023